package com.free.semantic.core.service;

import com.free.semantic.model.conceptmodel.User;

public interface UserService {
    
    /**
     * 用户登录
     * @param username 用户名
     * @param password 密码
     * @return 登录成功的用户信息，登录失败返回null
     */
    User login(String username, String password);

    /**
     * 用户注册
     * @param username 用户名
     * @param password 密码
     * @return 注册成功的用户信息，注册失败返回null
     */
    User register(String username, String password);

    /**
     * 更新密码
     * @param userId 用户ID
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     * @return 更新成功返回true，失败返回false
     */
    boolean updatePassword(Long userId, String oldPassword, String newPassword);

    /**
     * 校验用户名是否已存在
     * @param username 用户名
     * @return 存在返回true，不存在返回false
     */
    boolean checkUsernameExists(String username);

    /**
     * 校验密码强度
     * @param password 密码
     * @return 符合强度要求返回true，否则返回false
     */
    boolean validatePasswordStrength(String password);
} 